home *** CD-ROM | disk | FTP | other *** search
/ Professional Soft Collection 1.02 / Professional Soft Collection 1.02.iso / corscsi2 / disk1 / setup.ms_ / setup.ms
Encoding:
Text File  |  1993-12-22  |  49.9 KB  |  1,711 lines

  1. ''
  2. ''   ┌──────────────────────────────────────────────────────────────┐
  3. ''   │                    CorelSCSI!  Ver. 2.0                      │
  4. ''   ├──────────────────────────────────────────────────────────────┤
  5. ''   │                   Setup Script Ver. 1.08                     │
  6. ''   │                                                              │
  7. ''   │                                                              │
  8. ''   │   - SETUP Configuration file for Corel English Version       │
  9. ''   │                                                              │
  10. ''   │   - Created  October 18, 1993.                               │
  11. ''   │   - Modified December 22, 1993 by S.R.                       │
  12. ''   │                                                              │
  13. ''   ├──────────────────────────────────────────────────────────────┤
  14. ''   │                                                              │
  15. ''   │ Copyright (C) 1993.  Corel Corporation   All Rights Reserved │
  16. ''   │                                                              │
  17. ''   └──────────────────────────────────────────────────────────────┘
  18. ''                                                                  
  19.  
  20.  
  21. ''''''$DEFINE DEBUG  ''Define for script development/debugging
  22.  
  23. '$INCLUDE 'setupapi.inc'
  24. '$INCLUDE 'msdetect.inc'
  25.  
  26. '' code to make the install the full screen
  27.  
  28. CONST WS_VISIBLE=&H10000000
  29. CONST WS_BORDER =&H00800000
  30. CONST WS_CLIPCHILDREN =&H02000000
  31. CONST GWL_STYLE =-16
  32. CONST SW_SHOWMAXIMIZED=3
  33.  
  34. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  35. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%,offset%,style&) AS LONG
  36.  
  37. hWnd%=HwndFrame()
  38.  
  39. sti&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  40. stj%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  41.    
  42. ''OEM ID's
  43. CONST OEM_UNIVERSAL        = 1
  44. CONST OEM_CDSTUFF        = 2
  45. CONST OEM_CORELBOOK        = 4
  46. CONST OEM_WINBACKUP        = 8
  47. CONST OEM_DOSBACKUP        = 16
  48. CONST OEM_WINTOOLS        = 32
  49. CONST OEM_DOSTOOLS        = 64
  50. CONST OEM_WINCONFIG        = 128
  51. CONST OEM_DOSCONFIG        = 256
  52. CONST OEM_TWAIN            = 512   
  53.  
  54. CONST CORELSCSI20        = 1
  55. CONST CORELCDPAK        = 2
  56. CONST OEMVERSION        = 3                                                          
  57.  
  58. CONST DISK            = 1
  59. CONST CD_DISK            = 2
  60.  
  61. ''────────────────────────────────────────────────────────────────────────────────
  62. ''
  63. '' Set InstallType = CORELSCSI20    '' this is for the CorelSCSI 2.0 Setup.
  64. ''             = CORELCDPAK        '' this is for the Corel CD PowerPak Setup.
  65. ''           = OEMVERSION        '' this is for the OEM Setup Version.
  66. '' 
  67. '' Set InstallSet = 0    for CorelSCSI 2.0 and Corel CD PowerPak    
  68. ''     InstallSet = ??  depends on what the OEM version is to have. Can choose 
  69. ''            from the following :
  70. ''                  OEM_UNIVERSAL, OEM_CDSTUFF, OEM_CORELBOOK, OEM_WINBACKUP,
  71. ''                      OEM_DOSBACKUP, OEM_WINTOOLS, OEM_DOSTOOLS, OEM_WINCONFIG,
  72. ''                      OEM_DOSCONFIG, OEM_TWAIN
  73. ''         for example, to OEM  CorelBook, Windows Backup, and Windows Config then
  74. ''                  InstallSet = OEM_CORELBOOK + OEM_WINBACKUP + OEM_WINCONFIG
  75. ''
  76. ''        DiskOrCD  = DISK | CD_DISK    FOR POWERPAK ONLY. 
  77. ''                          Set to DISK for the drivers install ONLY
  78. ''                Set to CD_DISK for the rest of the software from the CDROM
  79. ''
  80. ''
  81. '' * NOTE *         if you are using OEM make sure InstallType = OEMVERSION 
  82. ''
  83. ''────────────────────────────────────────────────────────────────────────────────
  84.  
  85. CONST InstallType    = CORELSCSI20    '' this is for the CorelSCSI 2.0 Setup.
  86. CONST InstallSet    = 0                
  87. CONST DiskOrCD        = CD_DISK    '' this is for the CDROM disk version
  88.  
  89. GLOBAL  OEM_NAME_PLATE$ 
  90.  
  91. OEM_NAME_PLATE$ = "Corel Version"         '' 30 chars max
  92.  
  93.  
  94. ''Dialog ID's
  95. CONST WELCOME       = 300
  96. CONST WLCMCD        = 299                  '' the PowerPak splash screen
  97. CONST CUSTOMCD        = 298               '' the PowerPak custom box
  98. CONST PATHOK        = 301
  99. CONST PATHFND       = 302
  100. CONST CUSTOM        = 303
  101. CONST METHOD        = 304
  102. CONST ENDSCRN       = 305
  103. CONST QUIT          = 306
  104. CONST AUTOCNFG      = 307
  105. CONST PATHSCRN      = 308
  106. CONST README        = 309
  107. CONST READTXT       = 310
  108. CONST BADPATH       = 312
  109. CONST ASKQUIT       = 314
  110. CONST EXITSUCCESS   = 316
  111. CONST EXITFAILURE   = 318
  112. CONST EXITQUIT      = 320
  113. CONST DSKSPCE       = 322
  114. CONST TESTBACK      = 324
  115. CONST CHKSPCE       = 326
  116. CONST METHDHLP      = 327
  117. CONST CUSTMHLP      = 328
  118. CONST PATHHLP       = 329
  119. CONST ASPIDRVR      = 330
  120. CONST CHSECARD      = 331
  121. CONST FDTDC950      = 332
  122. CONST CHSCDHLP      = 333
  123. CONST DEVHIGH       = 334
  124. CONST NOVSURE       = 335
  125. CONST ENDSCRN2      = 336
  126. CONST OEMCARD       = 337
  127. CONST OEMLIST       = 338
  128. CONST OEMINFO        = 339
  129. CONST CDDEVHIGH        = 340     '' powerpak dev high box
  130. CONST DISKINFO        = 341     '' powerpak Disk setup info box
  131. CONST PTHFNDCD        = 342     '' powerpak CD portion Found so install here
  132. CONST CSTOMCD2        = 343                                
  133. CONST MOSAIC        = 344     '' Mosaic Confirm Box
  134. CONST LSTDRV        = 345
  135. CONST LSTDRVHP        = 346
  136. CONST LSTDRVN        = 347
  137. CONST OTHRDISK        = 348
  138.  
  139. ''Billboards
  140. CONST CONFIG1       = 350
  141. CONST BACKUP1       = 352
  142. CONST REGISTER      = 354
  143. CONST CDAUD2        = 356
  144. CONST CDBASE        = 357
  145.  
  146. ''Bitmap ID nums for Billboards
  147. CONST CONFIG1_BIT   = 1050
  148. CONST BACKUP1_BIT   = 1055
  149. CONST REGISTER_BIT  = 1060
  150. CONST CDAUD2_BIT    = 1065
  151. CONST CDBASE_BIT    = 1070
  152.  
  153.  
  154. ''Bitmap ID
  155. CONST CORELSCSI2_LOGO = 1
  156. CONST CORELCDPAK_LOGO = 2
  157.  
  158. ''File Types
  159. CONST UNIFILES        = 1
  160. CONST CDFILES         = 2
  161. CONST CORELBOOKFILES  = 3
  162. CONST WIN_BACKUPFILES = 4
  163. CONST WIN_TOOLSFILES  = 5
  164. CONST WIN_CONFIGFILES = 6
  165. CONST WIN_TWAINFILES  = 7
  166. CONST WIN_MOSAICFILES = 7     '' same as the twain stuff
  167. CONST DOS_BACKUPFILES = 8
  168. CONST DOS_TOOLSFILES  = 9
  169. CONST DOS_CONFIGFILES = 10
  170. CONST NECESSARY_FILES = 11
  171.  
  172. GLOBAL DEST$        ''Default destination directory.
  173. GLOBAL FDCspecial$  ''MUST MATCH!!!! ~aspi.lst name
  174. GLOBAL OEMDisk$     ''MUST MATCH!!!! Other name
  175. GLOBAL OEMPATH$                               
  176. GLOBAL OTHERDISK$
  177. GLOBAL REBOOT$      ''to reboot or not to reboot
  178. GLOBAL OPTCUR$      ''Option selection from option dialog.
  179. GLOBAL MosDir$      ''Location of old mosaic program, if found.
  180.  
  181. GLOBAL CHECKSTATES$
  182. GLOBAL STATUSTEXT$
  183. GLOBAL DRIVETEXT$
  184. GLOBAL APPS%
  185. GLOBAL DoTheMosaic%
  186.  
  187. GLOBAL UNINEED$
  188. GLOBAL CDNEED$
  189. GLOBAL CORELBOOKNEED$
  190. GLOBAL WIN_BACKUPNEED$
  191. GLOBAL WIN_TOOLSNEED$
  192. GLOBAL WIN_CONFIGNEED$
  193. GLOBAL WIN_TWAINNEED$
  194. GLOBAL DOS_BACKUPNEED$
  195. GLOBAL DOS_TOOLSNEED$
  196. GLOBAL DOS_CONFIGNEED$
  197. GLOBAL NECESSARY_NEED$
  198. GLOBAL PCDMOSNEED$
  199. GLOBAL EXTRACOSTS$
  200. GLOBAL BIGLIST$
  201.  
  202. GLOBAL CORRUPT$
  203. GLOBAL ERRORSTRING$ 
  204. GLOBAL oldestpath$ 
  205. GLOBAL CallBackDlg$
  206.  
  207. DECLARE SUB cpRegisterDefaults LIB "cpalette.dll"
  208. DECLARE SUB DoBackGround
  209. DECLARE SUB Install
  210. DECLARE FUNCTION SetOEMText  LIB "stv.dll" (sz$) AS INTEGER
  211. DECLARE SUB AddOptFilesToCopyList (ftype%)
  212. DECLARE SUB CheckPath 
  213.  
  214. DECLARE FUNCTION RemSymbol  LIB "stv.dll" (sz$) AS INTEGER
  215.  
  216. DECLARE SUB RecalcOptFiles (ftype%)
  217. DECLARE SUB RecalcPath
  218. DECLARE SUB SetDriveStatus
  219. DECLARE SUB SetCheckStateList
  220. DECLARE FUNCTION SetFullInstallSize LIB "stv.dll" (sz$) AS INTEGER
  221. DECLARE FUNCTION CheckIfOEM  LIB "stv.dll" (set%, against%) AS INTEGER
  222. DECLARE FUNCTION SetBillBrdNum LIB "stv.dll" (num%) AS INTEGER         
  223. DECLARE FUNCTION SetDebugInfo LIB "stv.dll" () AS INTEGER
  224. DECLARE FUNCTION KillScreenSave LIB "stv.dll" () AS INTEGER
  225. DECLARE FUNCTION RestoreScreenSave LIB "stv.dll" () AS INTEGER
  226. DECLARE FUNCTION OnOtherDisk LIB "stv.dll" () AS INTEGER
  227.  
  228. INIT:                                                         
  229. ''    nRc% = SetDebugInfo()
  230.     nRc% = KillScreenSave()
  231.     CUIDLL$ = "stv.dll"            ''Custom user interface dll
  232.     FDCspecial$ = "FDC TMC-950 /W BIOS REV < 8.2"       ''Must Match ~aspi.lst name all uppercase
  233.     OEMDisk$ = "OTHER (REQUIRES DISK FROM OEM...)"      ''Must Match ~aspi.lst name all uppercase
  234.  
  235.     CORRUPT$ = "Setup sources were corrupted, call Corel!"
  236.     ERRORSTRING$ = "Error"
  237.     
  238.     IF InstallType = CORELCDPAK  THEN        '' takes care of the BITMAP LOGO (2 types)
  239.         SetBitmap CUIDLL$, CORELCDPAK_LOGO
  240.         SetTitle "Corel CD PowerPak! Setup"
  241.     ELSE
  242.         SetBitmap CUIDLL$, CORELSCSI2_LOGO 
  243.         SetTitle "CorelSCSI! 2"
  244.     END IF                           
  245.  
  246.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  247.     IF szInf$ = "" THEN
  248.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  249.     END IF
  250.     ReadInfFile szInf$
  251.  
  252.     OPTCUR$ = "1"
  253.     DEST$ = "C:\CORELDRV"
  254.  
  255.     CHECKSTATES$ = "CheckItemsState"
  256.     STATUSTEXT$ = "StatusItemsText"
  257.     DRIVETEXT$ = "DriveStatusText"
  258.  
  259.     SetCheckStateList
  260.  
  261.     FOR i% = 1 TO 11 STEP 1
  262.        AddListItem STATUSTEXT$, ""
  263.     NEXT i%
  264.  
  265.     FOR i% = 1 TO 7 STEP 1
  266.        AddListItem DRIVETEXT$,""
  267.     NEXT i%
  268.  
  269.     drive$ = MID$(DEST$, 1, 1)
  270.  
  271.     free& = GetFreeSpaceForDrive(drive$)
  272.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  273.     ReplaceListItem DRIVETEXT$, 7, DEST$
  274.  
  275.     UNINEED$  = "UniNeed"
  276.     CDNEED$  = "CDNeed"
  277.     CORELBOOKNEED$  = "CorelBookNeed"
  278.     WIN_BACKUPNEED$  = "Win_BackupNeed"
  279.     WIN_TOOLSNEED$   = "Win_ToolsNeed"
  280.     WIN_CONFIGNEED$  = "Win_ConfigNeed"
  281.     WIN_TWAINNEED$   = "Win_TwainNeed"                 '' in case of PowerPak this is really Mosaic Stuff
  282.     DOS_BACKUPNEED$  = "Dos_BackupNeed"
  283.     DOS_TOOLSNEED$   = "Dos_ToolsNeed"
  284.     DOS_CONFIGNEED$  = "Dos_ConfigNeed"
  285.     PCDMOSNEED$         = "PcdMosNeeds"
  286.     NECESSARY_NEED$  = "Necessary"
  287.     EXTRACOSTS$ = "ExtraCosts"
  288.     BIGLIST$ = "BigList"
  289.  
  290.  
  291.     FOR i% = 1 TO 11 STEP 1
  292.         AddListItem BIGLIST$, ""
  293.     NEXT i%
  294.     FOR i% = 1 TO 26 STEP 1
  295.         AddListItem EXTRACOSTS$, "0"
  296.     NEXT i%
  297.  
  298. '$IFDEF DEBUG
  299.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  300.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  301.     IF IsDriveValid(WinDrive$) = 0 THEN
  302.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  303.         GOTO QUIT
  304.     END IF
  305. '$ENDIF ''DEBUG
  306.  
  307. WELCOME: 
  308.     nret% = SetBillBrdNum(REGISTER_BIT)
  309.     AddToBillboardList CUIDLL$, REGISTER, "FModelessBillBoardDlgProc", 1
  310.     nret% = SetBillBrdNum(CONFIG1_BIT)
  311.     AddToBillboardList CUIDLL$, CONFIG1, "FModelessBillBoardDlgProc", 1
  312.     nret% = SetBillBrdNum(CDAUD2_BIT)
  313.     AddToBillboardList CUIDLL$, CDAUD2, "FModelessBillBoardDlgProc", 1
  314.     nret% = SetBillBrdNum(CDBASE_BIT)
  315.     AddToBillboardList CUIDLL$, CDBASE, "FModelessBillBoardDlgProc", 1
  316.  
  317.     IF InstallType <> CORELCDPAK  THEN     '' add the backup one if not a powerpak install
  318.         nret% = SetBillBrdNum(BACKUP1_BIT)
  319.         AddToBillboardList CUIDLL$, BACKUP1, "FModelessBillBoardDlgProc", 1
  320.     END IF
  321.     DoBackGround    
  322. WELCOME2:                                                        
  323.     IF InstallType = CORELCDPAK  THEN     '' takes care of the splash screen (2 types)
  324.         temp% = WLCMCD
  325.     ELSE
  326.         temp% = WELCOME
  327.     END IF                           
  328.  
  329.     
  330.     sz$ = UIStartDlg(CUIDLL$, temp%,"FModeless2DlgProc",0,"")
  331.     cursor% = ShowWaitCursor()
  332.     RecalcPath
  333.     SetDriveStatus
  334.     RestoreCursor cursor%
  335.  
  336. WELCOME3:    
  337.         UIPop 1         
  338.         IF InstallType = OEMVERSION THEN
  339.             GOTO PATHSCRNFULL                                   
  340.         ELSE
  341.             IF InstallType = CORELCDPAK THEN
  342.               IF DiskOrCD = DISK THEN
  343.                 GOTO INFODISK
  344.               END IF 
  345.             END IF            
  346.             GOTO METHOD
  347.         END IF
  348.     IF sz$ = "REACTIVATE" THEN
  349.         UIPopAll
  350.         DoBackGround
  351.         sz$ = UIStartDlg(CUIDLL$, temp%,"FModeless2DlgProc",0,"")
  352.         GOTO WELCOME2
  353.     ELSE
  354.         GOSUB ASKQUIT
  355.         GOTO WELCOME2
  356.     END IF
  357.  
  358.  
  359. INFODISK:
  360.     sz$ = UIStartDlg(CUIDLL$, DISKINFO, "FInfoDlgProc", 0, "")
  361.     IF sz$ = "EXIT" THEN
  362.         GOSUB ASKQUIT
  363.         GOTO INFODISK
  364.     ELSEIF sz$ = "CONTINUE" THEN
  365.         UIPop 1
  366.         GOTO PATHSCRNFULL
  367.     ENDIF
  368.  
  369.  
  370. METHOD:
  371.     sz$ = UIStartDlg(CUIDLL$, METHOD, "FCustInstDlgProc", METHDHLP, "FHelpDlgProc")
  372.     IF sz$ = "EXIT" THEN
  373.         GOSUB ASKQUIT
  374.         GOTO METHOD
  375.     ELSEIF sz$ = "BTN1" THEN
  376.         UIPop 1
  377.         ''SetCheckStateList
  378. ''    FOR i% = 1 TO 14 STEP 1
  379. ''       AddListItem CHECKSTATES$, "ON"
  380. ''   NEXT i%
  381.         GOTO PATHSCRNFULL
  382.     ELSEIF sz$ = "BTN2" THEN
  383.         UIPop 1          
  384.         ''SetCheckStateList
  385. ''    FOR i% = 1 TO 14 STEP 1
  386. ''       AddListItem CHECKSTATES$, "ON"
  387. ''   NEXT i%
  388.         GOTO PATHSCRN
  389.     ELSEIF sz$ = "REACTIVATE" THEN
  390.         UIPopAll
  391.         DoBackGround
  392.         GOTO METHOD
  393.     ELSE
  394.         GOSUB ASKQUIT
  395.         GOTO METHOD
  396.     END IF
  397.  
  398.  
  399. PATHSCRNFULL:
  400.     IF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  401.       stz% = RemSymbol(CHECKSTATES$)
  402.     END IF
  403.  
  404.     SetCheckStateList
  405.  
  406.  
  407. PATHSCRNFULL11:
  408.     CheckPath
  409.  
  410. PATHSCRNFULL1:
  411.  
  412.     test$ = ""
  413.     IF InstallType = CORELCDPAK THEN
  414.       IF DiskOrCD = CD_DISK THEN
  415.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  416.       END IF
  417.     END IF
  418.  
  419.     IF CallBackDlg$ = "FEditDlgProc" THEN
  420.       i% = PATHOK
  421.     ELSE
  422.       IF test$ = "PPAK" THEN
  423.         i% = PTHFNDCD
  424.       ELSE
  425.         i% = PATHFND
  426.       END IF
  427.     END IF
  428.  
  429.     DEST$ = GetSymbolValue("EditTextOut")
  430.     sz$ = UIStartDlg(CUIDLL$, i%, CallBackDlg$, PATHHLP, "FHelpDlgProc")
  431.     olddest$ = DEST$
  432.     DEST$ = GetSymbolValue("EditTextOut")
  433.  
  434.  
  435.     IF sz$ = "CONTINUE" THEN
  436.         i% = LEN(DEST$)                        '' lets take off the last slash if one exists
  437.         oldestpath$ = MID$(DEST$, i%, 1)
  438.         IF oldestpath$ = "\" THEN
  439.           i% = i% - 1
  440.         ENDIF
  441.         oldestpath$ = MID$(DEST$, 1, i%)
  442.         DEST$ = oldestpath$
  443.  
  444.         IF IsDirWritable(DEST$) = 0 THEN
  445.             GOSUB BADPATH
  446.                GOTO PATHSCRNFULL1
  447.         END IF
  448.         drive$ = MID$(DEST$, 1, 1)
  449.  
  450.         free& = GetFreeSpaceForDrive(drive$)
  451.         ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  452.         ''Truncate display if too long.
  453.         IF LEN(DEST$) > 23 THEN
  454.             ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  455.         ELSE
  456.             ReplaceListItem DRIVETEXT$, 7, DEST$
  457.     END IF
  458.  
  459.  
  460.     olddest$ = ""
  461.  
  462.     UIPop 1
  463.  
  464.     IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  465.         DoTheMosaic% = 0
  466.         GOSUB ISMOSAIC
  467.         IF DoTheMosaic% = 1 THEN
  468. ''          DoBackground
  469.           GOTO ASKINST
  470. ''        ELSEIF DoTheMosaic% = 2 THEN
  471. ''          GOSUB ASKQUIT  
  472. ''          DoBackGround
  473. ''          GOTO  PATHSCRNFULL11
  474.         END IF
  475.     END IF
  476.  
  477. ''    SetCheckStateList
  478.  
  479.         cursor% = ShowWaitCursor()
  480.         stm$ = UIStartDlg(CUIDLL$, CHKSPCE, "FModeless2DlgProc", 0, "")
  481.         RecalcPath
  482.         SetDriveStatus
  483.         RestoreCursor cursor%
  484.         UIPop 1
  485.     drive$ = MID$(DEST$, 1, 1)
  486.     free& = GetFreeSpaceForDrive(drive$) / 1024
  487.     cost& = VAL(GetListItem(DRIVETEXT$, 2))
  488.     IF (cost& > free&) THEN
  489.        GOSUB DSKSPCE
  490.        GOTO PATHSCRNFULL1
  491.     ENDIF
  492.  
  493. ''    DoTheMosaic% = 0
  494.     Install     
  495.  
  496. ''    IF DoTheMosaic% = 1 THEN
  497. ''      DoBackground
  498. ''      GOTO ASKINST2
  499. ''    ELSEIF DoTheMosaic% = 2 THEN
  500. ''       GOSUB ASKQUIT  
  501. ''        DoBackGround
  502. ''        GOTO  PATHSCRNFULL11
  503. ''    END IF
  504.  
  505.  
  506.     GOTO ASPIDRVR
  507.     ELSEIF sz$ = "REACTIVATE" THEN
  508.         UIPopAll
  509.         DoBackGround
  510.         GOTO PATHSCRNFULL1
  511.     ELSEIF sz$ = "BACK" THEN
  512.         UIPop 1
  513.         IF InstallType = OEMVERSION  THEN
  514.             GOTO WELCOME2
  515.         ELSEIF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  516.             GOTO INFODISK
  517.         ELSE
  518.             GOTO METHOD
  519.         END IF
  520.     ELSE
  521.         GOSUB ASKQUIT
  522.     GOTO PATHSCRNFULL1
  523.     END IF
  524.  
  525.  
  526. PATHSCRN:
  527.     SetCheckStateList
  528. PATHSCRN11:    
  529.     CheckPath
  530. PATHSCRN1:
  531.     test$ = ""
  532.     IF InstallType = CORELCDPAK THEN
  533.       IF DiskOrCD = CD_DISK THEN
  534.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  535.       END IF
  536.     END IF
  537.  
  538.     IF CallBackDlg$ = "FEditDlgProc" THEN
  539.       i% = PATHOK
  540.     ELSE
  541.       IF test$ = "PPAK" THEN
  542.         i% = PTHFNDCD
  543.       ELSE
  544.         i% = PATHFND
  545.       END IF
  546.     END IF
  547.  
  548.     sz$ = UIStartDlg(CUIDLL$, i%, CallBackDlg$, PATHHLP, "FHelpDlgProc")
  549.  
  550.     olddest$ = DEST$
  551.     DEST$ = GetSymbolValue("EditTextOut")
  552.  
  553.  
  554.     IF sz$ = "CONTINUE" THEN
  555.         i% = LEN(DEST$)                        '' lets take off the last slash if one exists
  556.         oldestpath$ = MID$(DEST$, i%, 1)
  557.         IF oldestpath$ = "\" THEN
  558.             i% = i% - 1
  559.         ENDIF
  560.  
  561.         oldestpath$ = MID$(DEST$, 1, i%)
  562.         DEST$ = oldestpath$
  563.  
  564.         IF IsDirWritable(DEST$) = 0 THEN
  565.             GOSUB BADPATH
  566.             GOTO PATHSCRN1
  567.         END IF
  568.  
  569.         drive$ = MID$(DEST$, 1, 1)
  570.         oldpath$=""
  571.         cdpath$=""
  572.  
  573.         free& = GetFreeSpaceForDrive(drive$)
  574.         ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  575.     ''Truncate display if too long.
  576.         IF LEN(DEST$) > 23 THEN
  577.             ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  578.         ELSE
  579.             ReplaceListItem DRIVETEXT$, 7, DEST$
  580.         END IF
  581.  
  582.  
  583.         olddest$ = ""
  584.         UIPop 1
  585.  
  586.         IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  587.             DoTheMosaic% = 0
  588.             GOSUB ISMOSAIC
  589.             IF DoTheMosaic% = 1 THEN
  590. ''              DoBackground
  591.               GOTO ASKINST
  592. ''    ELSEIF DoTheMosaic% = 2 THEN
  593. ''          GOSUB ASKQUIT  
  594. ''          DoBackGround
  595. ''          GOTO  PATHSCRNFULL11
  596.             END IF
  597.         END IF
  598.  
  599.         GOTO ASKINST
  600.  
  601.     ELSEIF sz$ = "REACTIVATE" THEN
  602.         UIPopAll
  603.         DoBackGround
  604.         GOTO PATHSCRN1
  605.     ELSEIF sz$ = "BACK" THEN
  606.         UIPop 1
  607.         GOTO METHOD
  608.     ELSE
  609.         GOSUB ASKQUIT
  610.         GOTO PATHSCRN1
  611.     END IF
  612.  
  613.  
  614. ASKINST:
  615.     cursor% = ShowWaitCursor()
  616.     stm$ = UIStartDlg(CUIDLL$, CHKSPCE, "FModeless2DlgProc", 0, "")
  617.     SetCheckStateList
  618.     
  619.     RecalcPath
  620.     SetDriveStatus
  621.     RestoreCursor cursor%
  622.     UIPop 1
  623. ASKINST2:
  624.     test$ = ""
  625.     IF InstallType = CORELCDPAK THEN
  626.       IF DiskOrCD = CD_DISK THEN
  627.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  628.       END IF
  629.     END IF
  630.  
  631.     IF InstallType = CORELCDPAK  THEN            '' takes care of the splash screen (2 types)
  632.         IF test$ = "PPAK" THEN
  633.             temp% = CSTOMCD2
  634.         ELSE
  635.             temp% = CUSTOMCD
  636.         END IF
  637.     ELSE
  638.         temp% = CUSTOM
  639.     END IF                           
  640.  
  641.     sz$ = UIStartDlg(CUIDLL$, temp%, "FCustInstDlgProc", CUSTMHLP, "FHelpDlgProc")
  642.     IF sz$ = "EXIT" THEN
  643.         GOSUB ASKQUIT
  644.         GOTO ASKINST2
  645.     ELSEIF sz$ = "CONTINUE" THEN
  646.     drive$ = MID$(DEST$, 1, 1)
  647.     free& = GetFreeSpaceForDrive(drive$) / 1024
  648.         cost& = VAL(GetListItem(DRIVETEXT$, 2))
  649.         IF (cost& > free&) THEN
  650.        GOSUB DSKSPCE
  651.            GOTO ASKINST2
  652.         ELSE
  653.        UIPopAll
  654.  
  655.     Install     
  656.  
  657.     END IF
  658.     ELSEIF sz$ = "CHK1" THEN
  659.     RecalcOptFiles UNIFILES
  660.         SetDriveStatus
  661.         GOTO ASKINST2
  662.     ELSEIF sz$ = "CHK2" THEN
  663.     RecalcOptFiles CDFILES
  664.         SetDriveStatus
  665.         GOTO ASKINST2
  666.     ELSEIF sz$ = "CHK3" THEN
  667.     RecalcOptFiles CORELBOOKFILES
  668.         SetDriveStatus
  669.         GOTO ASKINST2
  670.     ELSEIF sz$ = "CHK4" THEN
  671.     RecalcOptFiles WIN_BACKUPFILES
  672.         SetDriveStatus
  673.         GOTO ASKINST2
  674.     ELSEIF sz$ = "CHK5" THEN
  675.     RecalcOptFiles WIN_TOOLSFILES
  676.         SetDriveStatus
  677.         GOTO ASKINST2
  678.     ELSEIF sz$ = "CHK6" THEN
  679.     RecalcOptFiles WIN_CONFIGFILES
  680.         SetDriveStatus
  681.         GOTO ASKINST2
  682.     ELSEIF sz$ = "CHK7" THEN
  683.         RecalcOptFiles WIN_TWAINFILES            '' in the PowerPak version this serves as the Mosaic Entry
  684.         SetDriveStatus
  685.         GOTO ASKINST2
  686.     ELSEIF sz$ = "CHK8" THEN
  687.     RecalcOptFiles DOS_BACKUPFILES
  688.         SetDriveStatus
  689.         GOTO ASKINST2
  690.     ELSEIF sz$ = "CHK9" THEN
  691.     RecalcOptFiles DOS_TOOLSFILES
  692.         SetDriveStatus
  693.     GOTO ASKINST2
  694.     ELSEIF sz$ = "CHK10" THEN
  695.     RecalcOptFiles DOS_CONFIGFILES
  696.     SetDriveStatus
  697.         GOTO ASKINST2
  698.     ELSEIF sz$ = "REACTIVATE" THEN
  699.         UIPopAll
  700.         DoBackGround
  701.         GOTO ASKINST2
  702.     ELSEIF sz$ = "BACK" THEN
  703.         UIPop 1
  704.         GOTO PATHSCRN11
  705.     ELSE
  706.         GOSUB ASKQUIT
  707.     GOTO ASKINST2
  708.     END IF
  709.  
  710. ASPIDRVR:
  711.     UIPopAll
  712.     DoBackGround
  713. ASPIDRVR2:
  714.     IF InstallType = CORELCDPAK THEN 
  715.       test$ = ""
  716.       IF DiskOrCD = CD_DISK THEN
  717.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  718.       END IF
  719.           
  720.       IF test$ = "PPAK" THEN
  721.         GOTO AUTOCNFG
  722.       ELSE
  723.         IF GetListItem(CHECKSTATES$, CDFILES) = "OFF" THEN
  724.           GOTO DEVHIGH                                    
  725.         END IF 
  726.       END IF
  727.     END IF           
  728.     
  729.     sz$ = UIStartDlg(CUIDLL$, ASPIDRVR, "FListDlgProc", CHSCDHLP, "FHelpDlgProc")
  730.     IF sz$ = "REACTIVATE" THEN
  731.          GOTO ASPIDRVR
  732.     ELSEIF sz$ = "CONTINUE" THEN
  733.  
  734.         cardchosen$=GetSymbolValue("ListItemsOut")
  735.         SetSymbolValue "OEMLIST", "NO"
  736.         IF cardchosen$ = FDCspecial$ THEN
  737.           GOTO CHSECARD
  738.         ELSEIF cardchosen$ = OEMDisk$ THEN
  739.           GOTO OEMCARD
  740.         ELSE
  741.           stv% = OnOtherDisk()
  742. ''          i% = DoMsgBox(STR$(stv%), "stv% is", MB_OK)
  743.           IF stv% = 1 THEN
  744.             GOTO ONOTHERDISK
  745. ''            i% = DoMsgBox("was on other disk", "blah", MB_OK)
  746.           END IF
  747.                     
  748.           UIPop 1
  749.           GOTO DEVHIGH
  750.         ENDIF
  751.     ELSEIF sz$ = "EXIT" THEN
  752.         GOSUB ASKQUIT
  753.         GOTO ASPIDRVR2
  754.     ELSE
  755.         GOTO ASPIDRVR2
  756.     END IF
  757.  
  758. ONOTHERDISK:
  759.     OTHERDISK$ = GetIniKeyString("WIN.INI", "CorelSCSI", "OTHERPath")
  760.     IF OTHERDISK$ = "" THEN
  761.         OTHERDISK$ = GetSymbolValue("STF_SRCDIR")
  762.     ENDIF
  763.     SetSymbolValue "EditTextIn", OTHERDISK$
  764.     sz$ = UIStartDlg(CUIDLL$, OTHRDISK, "FOtherEditDlgProc", 0,"")
  765.     IF sz$ = "REACTIVATE" THEN
  766.         UIPopAll
  767.         DoBackGround
  768.         GOTO ONOTHERDISK
  769.     ELSEIF sz$ = "CONTINUE" THEN
  770.         OTHERDISK$ = GetSymbolValue("EditTextOut")
  771.        CreateIniKeyValue "WIN.INI", "CorelSCSI", "OTHERPath", OEMPATH$, cmoOverwrite
  772.        UIPop 2
  773.        GOTO DEVHIGH
  774.     ELSEIF sz$ = "EXIT" THEN
  775.         GOSUB ASKQUIT
  776.         GOTO ONOTHERDISK
  777.     ELSEIF sz$ = "BACK" THEN
  778.         UIPop 2
  779.         GOTO ASPIDRVR2
  780.     ELSE
  781.         GOTO ONOTHERDISK
  782.     END IF
  783.     
  784.  
  785. CHSECARD:
  786.     sz$ = UIStartDlg(CUIDLL$, CHSECARD, "FEditCardDlgProc", FDTDC950,"FHelpDlgProc")
  787.     IF sz$ = "REACTIVATE" THEN
  788.         UIPopAll
  789.         DoBackGround
  790.         GOTO CHSECARD
  791.     ELSEIF sz$ = "CONTINUE" THEN
  792.     UIPop 2
  793.         GOTO DEVHIGH
  794.     ELSEIF sz$ = "EXIT" THEN
  795.         GOSUB ASKQUIT
  796.         GOTO CHSECARD
  797.     ELSEIF sz$ = "BACK" THEN
  798.     UIPop 1
  799.         GOTO ASPIDRVR2
  800.     ELSE
  801.     GOTO CHSECARD
  802.     END IF
  803.  
  804. OEMCARD:
  805.     OEMPATH$ = GetIniKeyString("WIN.INI", "CorelSCSI", "OEMPath")
  806.     IF OEMPATH$ = "" THEN
  807.         OEMPATH$ = GetSymbolValue("STF_SRCDIR")
  808.     ENDIF
  809.    SetSymbolValue "EditTextIn", OEMPATH$
  810.     sz$ = UIStartDlg(CUIDLL$, OEMCARD, "FOemEditDlgProc", 0,"")
  811.     IF sz$ = "REACTIVATE" THEN
  812.         UIPopAll
  813.         DoBackGround
  814.         GOTO OEMCARD
  815.     ELSEIF sz$ = "CONTINUE" THEN
  816.         OEMPATH$ = GetSymbolValue("EditTextOut")
  817.        CreateIniKeyValue "WIN.INI", "CorelSCSI", "OEMPath", OEMPATH$, cmoOverwrite
  818.         UIPop 2
  819.         GOTO OEMLIST
  820.     ELSEIF sz$ = "EXIT" THEN
  821.         GOSUB ASKQUIT
  822.         GOTO OEMCARD
  823.     ELSEIF sz$ = "BACK" THEN
  824.         UIPop 1
  825.         GOTO ASPIDRVR2
  826.     ELSE
  827.         GOTO OEMCARD
  828.     END IF
  829.  
  830. OEMLIST:
  831.     sz$ = UIStartDlg(CUIDLL$, OEMLIST, "FOemListDlgProc", CHSCDHLP,"FHelpDlgProc")
  832.     IF sz$ = "REACTIVATE" THEN
  833.         UIPopAll
  834.         DoBackGround
  835.         GOTO OEMLIST
  836.     ELSEIF sz$ = "CONTINUE" THEN
  837.         SetSymbolValue "OEMLIST", "YES"
  838.         UIPop 1
  839.         GOTO DEVHIGH
  840.     ELSEIF sz$ = "EXIT" THEN
  841.         GOSUB ASKQUIT
  842.         GOTO OEMLIST
  843.     ELSEIF sz$ = "BACK" THEN
  844.         UIPop 1
  845.         GOTO OEMCARD
  846.     ELSE
  847.         GOTO OEMLIST
  848.     END IF
  849.  
  850. DEVHIGH:
  851.     
  852.     IF GetListItem(CHECKSTATES$, UNIFILES) = "OFF" AND GetListItem(CHECKSTATES$, CDFILES) = "OFF" THEN
  853.       GOTO LASTDRIVE
  854.     END IF
  855.  
  856.     SetSymbolValue "HighDevices", ""
  857.     FOR i% = 1 TO 2 STEP 1                  '' do HIGH DEVICES
  858.       AddListItem "HighDevices", "OFF"
  859.     NEXT i%
  860.  
  861.     DosVer% = GetDOSMajorVersion()
  862.     IF DosVer% < 5 THEN
  863.       GOTO LASTDRIVE
  864.     END IF
  865.  
  866. DEVHIGH2:
  867.     IF InstallType = CORELCDPAK  THEN            '' takes care of the splash screen (2 types)
  868.         temp% = CDDEVHIGH
  869.     ELSE
  870.         temp% = DEVHIGH
  871.     END IF                           
  872.     
  873.     sz$ = UIStartDlg(CUIDLL$, temp%, "FCustInst2DlgProc", 0, "")
  874.     IF sz$ = "REACTIVATE" THEN
  875.         UIPopAll
  876.         DoBackGround
  877.         GOTO DEVHIGH2
  878.     ELSEIF sz$ = "CONTINUE" THEN
  879.         UIPop 1
  880.         GOTO LASTDRIVE
  881.     ELSEIF sz$ = "EXIT" THEN
  882.         GOSUB ASKQUIT
  883.         GOTO DEVHIGH2
  884.     ELSEIF sz$ = "HGH1" THEN
  885.         GOTO DEVHIGH2
  886.     ELSEIF sz$ = "HGH2" THEN
  887.         GOTO DEVHIGH2
  888.     ELSEIF sz$ = "HGH3" THEN
  889.         GOTO DEVHIGH2
  890.     ELSE
  891.         UIPop 1
  892.     END IF
  893.  
  894.  
  895. LASTDRIVE:
  896.     windowsys$ = GetWindowsDir() + "SYSTEM.INI"
  897.     testnovell$ = GetIniKeyString(windowsys$, "boot", "network.drv")  
  898.     temp% = LSTDRV
  899.     IF testnovell$ = "netware.drv" OR testnovell$ = "NETWARE.DRV" THEN
  900.       temp% = LSTDRVN
  901.     ELSE
  902.       testnovell$ = GetIniKeyString(windowsys$, "boot", "secondnet.drv")
  903.       IF testnovell$ = "netware.drv" OR testnovell$ = "NETWARE.DRV" THEN        
  904.         temp% = LSTDRVN
  905.       ENDIF
  906.     ENDIF
  907.  
  908.     sz$ = UIStartDlg(CUIDLL$, temp%, "FLastDriveDlgProc", LSTDRVHP,"FHelpDlgProc")
  909.     IF sz$ = "REACTIVATE" THEN
  910.         GOTO LASTDRIVE
  911.     ELSEIF sz$ = "CONTINUE" THEN
  912.         UIPop 1
  913.         GOTO AUTOCNFG
  914.     ELSEIF sz$ = "EXIT" THEN
  915.         GOSUB ASKQUIT
  916.         GOTO LASTDRIVE
  917.     END IF
  918.     
  919.  
  920. AUTOCNFG:
  921.     IF InstallType = CORELCDPAK AND DiskOrCD = CD_DISK THEN
  922.       test$ = ""
  923.       test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  924.  
  925.       IF test$ = "PPAK" THEN
  926.         SetSymbolValue "HighDevices", ""
  927.         FOR i% = 1 TO 2 STEP 1                  '' do HIGH DEVICES
  928.           AddListItem "HighDevices", "OFF"
  929.          NEXT i%
  930.       END IF
  931.     END IF  
  932.  
  933.     IF InstallType = CORELCDPAK THEN 
  934.       test$ = ""
  935.       IF DiskOrCD = CD_DISK THEN
  936.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  937.       END IF
  938.           
  939.       IF test$ = "PPAK" THEN
  940.         GOTO README
  941.       END IF
  942.     END IF
  943.         
  944.     sz$ = UIStartDlg(CUIDLL$, AUTOCNFG, "FInfo2DlgProc", 0, "")
  945.     IF sz$ = "REACTIVATE" THEN
  946.         UIPopAll
  947.         DoBackGround
  948.         GOTO AUTOCNFG
  949.     ELSEIF sz$ = "CONTINUE" THEN
  950.         UIPop 1
  951.         REBOOT$="YES"
  952.         GOTO README
  953.     ELSEIF sz$ = "EXIT" THEN
  954.         UIPop 1
  955.         REBOOT$="NO"
  956.         GOTO README
  957.     ELSE
  958.         UIPop 1
  959.     END IF
  960.  
  961.  
  962. README:
  963.     IF InstallType = CORELCDPAK THEN 
  964.       IF DiskOrCD = DISK THEN                        '' if running the disk then don't need to do readme
  965.         GOTO README2
  966.       END IF
  967.     END IF  
  968.     
  969.     sz$ = UIStartDlg(CUIDLL$, README, "FInfoDlgProc", 0, "")
  970.     IF sz$ = "REACTIVATE" THEN
  971.        UIPopAll
  972.         DoBackGround
  973.        GOTO README
  974.     ELSEIF sz$ = "BACK" THEN                       ''had to make it something different
  975.         UIPop 1
  976.         GOTO READTXT
  977.     ELSEIF sz$ = "EXIT" THEN
  978.         UIPop 1
  979. README2:
  980.         IF REBOOT$ = "YES" THEN
  981.           GOTO ENDSCRN
  982.         ELSE
  983.           GOTO ENDSCRN2
  984.         END IF
  985.     ELSE
  986.         UIPop 1
  987.         GOTO README
  988.     END IF
  989.  
  990. READTXT:
  991.     sz$ = UIStartDlg(CUIDLL$, READTXT, "FTXTInfoDlgProc", 0, "")
  992.     IF sz$ = "REACTIVATE" THEN
  993.         UIPopAll
  994.         DoBackGround
  995.         GOTO READTXT
  996.     ELSEIF sz$ = "CONTINUE" THEN                       ''had to make it something different
  997.         UIPop 1
  998.         IF REBOOT$ = "YES" THEN
  999.           GOTO ENDSCRN
  1000.         ELSE
  1001.           GOTO ENDSCRN2
  1002.         END IF
  1003.     ELSE
  1004.         GOTO READTXT
  1005.     END IF
  1006.  
  1007. ENDSCRN:
  1008.     DECLARE FUNCTION WinExec LIB "krnl386.exe" (CMDLINE$, CMDSHOW%) AS INTEGER
  1009.     szPathsome$ = DEST$ + "\SCSIREBT.EXE /DOBOOT"
  1010.     sz$ = UIStartDlg(CUIDLL$, ENDSCRN, "FInfoDlgProc",0,"")
  1011.     IF sz$ = "EXIT" THEN
  1012.         UIPopAll
  1013.     ELSEIF sz$ = "REACTIVATE" THEN
  1014.         UIPopAll
  1015.         DoBackGround
  1016.         GOTO ENDSCRN
  1017.     ELSEIF sz$ = "BACK" THEN
  1018.        i%=WinExec(szPathsome$, 8)                   ''8 is sw_showna
  1019.         UIPopAll
  1020.        ELSE
  1021.         UIPopAll
  1022.        END IF
  1023.  
  1024.       IF InstallType = CORELCDPAK THEN
  1025.         IF DiskOrCD = DISK THEN        
  1026.           CreateIniKeyValue "WIN.INI", "CorelSCSI", "PPak", "PPAK", cmoOverwrite
  1027.         ELSEIF DiskOrCD = CD_DISK THEN
  1028.           RemoveIniKey "WIN.INI", "CorelSCSI", "PPak", cmoNone
  1029.         END IF
  1030.       END IF
  1031.  
  1032.     nRc% = RestoreScreenSave()
  1033.         RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1034.         RemoveFile DEST$+"\~aspi.lst", cmoForce
  1035.     END
  1036.  
  1037. ENDSCRN2:
  1038.     sz$ = UIStartDlg(CUIDLL$, ENDSCRN2, "FInfoDlgProc",0,"")
  1039.     IF sz$ = "EXIT" THEN
  1040.         UIPopAll
  1041.     ELSEIF sz$ = "REACTIVATE" THEN
  1042.         UIPopAll
  1043.         DoBackGround
  1044.         GOTO ENDSCRN2
  1045.     ELSE
  1046.         UIPopAll
  1047.     END IF
  1048.  
  1049.       IF InstallType = CORELCDPAK THEN
  1050.         IF DiskOrCD = DISK THEN        
  1051.           CreateIniKeyValue "WIN.INI", "CorelSCSI", "PPak", "PPAK", cmoOverwrite
  1052.         ELSEIF DiskOrCD = CD_DISK THEN
  1053.           RemoveIniKey "WIN.INI", "CorelSCSI", "PPak", cmoNone
  1054.         END IF
  1055.       END IF
  1056.  
  1057.     nRc% = RestoreScreenSave()
  1058.     RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1059.     RemoveFile DEST$+"\~aspi.lst", cmoForce
  1060.     END
  1061.  
  1062. QUIT:
  1063.  
  1064.     ON ERROR GOTO ERRQUIT
  1065.  
  1066.     IF ERR = STFQUIT THEN
  1067.         dlg% = EXITQUIT
  1068.     ELSE
  1069.         dlg% = EXITFAILURE
  1070.     END IF
  1071. QUITL1:
  1072.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  1073.     IF sz$ = "REACTIVATE" THEN
  1074.         UIPopAll
  1075.         DoBackGround
  1076.         GOTO QUITL1
  1077.     END IF
  1078.     DECLARE SUB cpReleaseDefaults LIB "cpalette.dll"
  1079.     UIPopAll   
  1080.     nRc% = RestoreScreenSave()
  1081.      RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1082.     RemoveFile DEST$+"\~aspi.lst", cmoForce
  1083.     END
  1084.  
  1085. ERRQUIT:
  1086.     i% = DoMsgBox(CORRUPT$, ERRORSTRING$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1087.     nRc% = RestoreScreenSave()
  1088.     END
  1089.  
  1090.  
  1091. BADPATH:
  1092.     sz$ = UIStartDLG(CUIDLL$, BADPATH, "FQuitDlgProc", 0, "")
  1093.     IF sz$ = "CONTINUE" THEN
  1094.         UIPop 1
  1095.     ELSEIF sz$ = "REACTIVATE" THEN
  1096.         UIPopAll
  1097.         DoBackGround
  1098.         GOTO BADPATH
  1099.     ELSE
  1100.         UIPop 1
  1101.     END IF
  1102.     RETURN
  1103.  
  1104. DSKSPCE:
  1105.     sz$ = UIStartDLG(CUIDLL$, DSKSPCE, "FQuitDlgProc", 0, "")
  1106.     IF sz$ = "CONTINUE" THEN
  1107.         UIPop 1
  1108.     ELSEIF sz$ = "REACTIVATE" THEN
  1109.         UIPopAll
  1110.         DoBackGround
  1111.         GOTO DSKSPCE
  1112.     ELSE
  1113.         UIPop 1
  1114.     END IF
  1115.     RETURN
  1116.  
  1117. ASKQUIT:
  1118.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  1119.     IF sz$ = "EXIT" THEN
  1120.         UIPop 2
  1121.         ERROR STFQUIT
  1122.     ELSEIF sz$ = "REACTIVATE" THEN
  1123.         UIPopAll
  1124.         DoBackGround
  1125.         GOTO ASKQUIT
  1126.     ELSE
  1127.         UIPop 1
  1128.     END IF
  1129.     RETURN
  1130.  
  1131.  
  1132. ISMOSAIC:
  1133.     CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1134.     MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1135.     IF MosDir$ <> "" THEN
  1136.       SetSymbolValue "EditTextIn", MosDir$
  1137.       SetSymbolValue "EditFocus", "END"
  1138.       sz$ = UIStartDlg("stv.dll", MOSAIC, "FEdit1DlgProc", 0, "")
  1139.       IF sz$ = "BACK" THEN
  1140.         UIPop 1
  1141.         DoTheMosaic% = 1
  1142. ''        GOTO ENDOFINSTALL
  1143.       ELSEIF sz$ = "EXIT" THEN                   
  1144.         UIPop 1
  1145.         GOSUB ASKQUIT
  1146.         GOTO ISMOSAIC
  1147. ''        GOTO ENDOFINSTALL
  1148.       ELSEIF sz$ = "CONTINUE" THEN
  1149.         DoTheMosaic% = 2
  1150.         UIPop 1
  1151.       END IF
  1152.     END IF    
  1153.     RETURN
  1154.  
  1155.  
  1156. SUB DoBackGround STATIC
  1157.     DLL$ = "stv.dll"
  1158.     stm$ = UIStartDlg(DLL$, TESTBACK, "FModelessDlgProc", 0, "")
  1159.     IF InstallType = OEMVERSION THEN
  1160.         nReturn% = SetOEMText(OEM_NAME_PLATE$)
  1161.         stm$ = UIStartDlg(DLL$, OEMINFO, "FOEMTextProc", 0, "")
  1162.     END IF
  1163. END SUB
  1164.  
  1165.  
  1166.  
  1167. SUB CheckPath STATIC 
  1168.     oldpath$ = GetIniKeyString("WIN.INI", "CorelSCSI", "installed")
  1169.     cdpath$ = GetIniKeyString("WIN.INI", "CorelSCSI", "wtbackup")
  1170.  
  1171.     IF oldpath$ <> "" THEN
  1172.       DEST$ = oldpath$
  1173.       CallBackDlg$ = "FEdit1DlgProc"
  1174.     ELSEIF cdpath$ <> "" THEN
  1175.       i% = LEN(cdpath$)
  1176.  
  1177.       oldestpath$=MID$(cdpath$, i%, 1)
  1178.       IF oldestpath$ = "\" THEN
  1179.     oldestpath$ = MID$(cdpath$, 1, i%-1)
  1180.       ELSE
  1181.     oldestpath$ = cdpath$
  1182.       ENDIF
  1183.  
  1184.       IF oldestpath$ = "C:\CORELDRV\SCSIUTIL" THEN
  1185.     oldestpath$ = "C:\CORELDRV"
  1186.       ENDIF
  1187.  
  1188.       DEST$ = oldestpath$
  1189.       CallBackDlg$ = "FEdit1DlgProc"
  1190.  
  1191.     ELSE
  1192.       CallBackDlg$ = "FEditDlgProc"
  1193.  
  1194.     END IF
  1195.     SetSymbolValue "EditTextIn", DEST$
  1196.     SetSymbolValue "EditFocus", "END"
  1197. END SUB
  1198.  
  1199.  
  1200. '** Purpose:
  1201. '**     Builds the copy list and performs all installation operations.
  1202. '** Arguments:
  1203. '**     none.
  1204. '** Returns:
  1205. '**     none.
  1206. '*************************************************************************
  1207. SUB Install STATIC
  1208.  
  1209.     UIPopAll
  1210.     ClearCopyList
  1211.     AddOptFilesToCopyList UNIFILES
  1212.     AddOptFilesToCopyList CDFILES
  1213.     AddOptFilesToCopyList CORELBOOKFILES
  1214.     AddOptFilesToCopyList WIN_CONFIGFILES
  1215.     AddOptFilesToCopyList DOS_CONFIGFILES
  1216.     AddOptFilesToCopyList NECESSARY_FILES
  1217.     AddOptFilesToCopyList WIN_TWAINFILES                '' in the PowerPak case this is Mosaic
  1218.  
  1219.     IF InstallType <> CORELCDPAK  THEN            '' takes care of the files different from Pak and SCSI2 and OEM
  1220.         AddOptFilesToCopyList WIN_BACKUPFILES
  1221.         AddOptFilesToCopyList WIN_TOOLSFILES
  1222.         AddOptFilesToCopyList DOS_BACKUPFILES
  1223.         AddOptFilesToCopyList DOS_TOOLSFILES                                                           
  1224.     ELSEIF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  1225. ''             CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1226. ''             MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1227. ''            IF MosDir$ <> "" THEN
  1228. ''              SetSymbolValue "EditTextIn", MosDir$
  1229. ''              SetSymbolValue "EditFocus", "END"
  1230. ''              sz$ = UIStartDlg("stv.dll", MOSAIC, "FEdit1DlgProc", 0, "")
  1231. ''              IF sz$ = "BACK" THEN
  1232. ''                UIPop 1
  1233. ''                DoTheMosaic% = 1
  1234. ''                GOTO ENDOFINSTALL
  1235. ''              ELSEIF sz$ = "EXIT" THEN                   
  1236. ''                UIPop 1
  1237. ''                DoTheMosaic% = 2
  1238. ''                GOTO ENDOFINSTALL
  1239. ''              ELSEIF sz$ = "CONTINUE" THEN
  1240. ''                UIPop 1
  1241. ''              END IF
  1242. ''            END IF    
  1243.  
  1244.              IF MosDir$ = "" THEN    
  1245.                CreateIniKeyValue "WIN.INI", "CorelGraphics4", "Dir", DEST$ + "\MOSAIC\CONFIG", cmoOverwrite
  1246.                CreateDir DEST$ + "\MOSAIC\CONFIG", cmoNone
  1247.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "ProgramsDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1248.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "CustomDir", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1249.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "MosaicDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1250.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "FiltersDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1251.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "DataDir", DEST$ + "\MOSAIC\PROGRAMS\DATA", cmoOverwrite
  1252.              END IF
  1253.  
  1254.     END IF    
  1255.  
  1256.         
  1257.     CreateDir DEST$, cmoNone
  1258.     CopyFilesInCopyList
  1259.  
  1260.  
  1261.        CreateIniKeyValue "WIN.INI", "CorelSCSI", "installed", DEST$, cmoOverwrite
  1262.        installed$=DEST$ + "\CRLSCSI.INI"
  1263.            APPS% = 0
  1264.            oldval$ = GetIniKeyString(installed$, "apps", "apps")
  1265.  
  1266.  
  1267.        IF oldval$ <> "" THEN
  1268.          previous% = VAL(oldval$)
  1269.        ELSE
  1270.          previous% = 0
  1271.        ENDIF
  1272.  
  1273.        oldval$ = ""
  1274.  
  1275.        IF GetListItem(CHECKSTATES$, UNIFILES) = "ON" THEN
  1276.          APPS% = APPS% + 8
  1277.            ENDIF
  1278.  
  1279.        IF GetListItem(CHECKSTATES$, CDFILES) = "ON" THEN
  1280.          APPS% = APPS% + 84
  1281.        ENDIF
  1282.  
  1283.        IF GetListItem(CHECKSTATES$, WIN_BACKUPFILES) = "ON" THEN 
  1284.          APPS% = APPS% + 1
  1285.          catdir$ = DEST$ + "\CATALOG"
  1286.          IF EXISTS(catdir$+"\NUL") = FALSE THEN
  1287.            MKDIR catdir$
  1288.          ENDIF  
  1289.        ELSEIF GetListItem(CHECKSTATES$, DOS_BACKUPFILES) = "ON" THEN
  1290.          APPS% = APPS% + 1
  1291.          catdir$ = DEST$ + "\CATALOG"
  1292.          IF EXISTS(catdir$+"\NUL") = FALSE THEN
  1293.            MKDIR catdir$
  1294.              ENDIF
  1295.        ENDIF
  1296.  
  1297.        IF GetListItem(CHECKSTATES$, WIN_TOOLSFILES) = "ON" THEN
  1298.          APPS% = APPS% + 2
  1299.        ELSEIF GetListItem(CHECKSTATES$, DOS_TOOLSFILES) = "ON" THEN
  1300.          APPS% = APPS% + 2
  1301.        ENDIF
  1302.  
  1303.            APPS% = APPS% OR previous%
  1304.        appinstalled$=STR$(APPS%)
  1305.        CreateIniKeyValue installed$, "apps", "apps", appinstalled$, cmoOverWrite
  1306.        appinstalled$ = ""
  1307.  
  1308.        CreateIniKeyValue installed$, "CDROM Drivers", "DRIVERNAME", "MSCD001", cmoOverWrite
  1309.        CreateIniKeyValue installed$, "UNI Drivers", "USEEMS", "YES", cmoOverWrite
  1310.        CreateIniKeyValue installed$, "CORELCDX", "DRIVERNAME", "MSCD001", cmoOverWrite
  1311.         
  1312.         IF InstallType = CORELCDPAK THEN
  1313.             groupname$ = "Corel CD PowerPak!"
  1314.         ELSE
  1315.             groupname$ = "CorelSCSI 2"
  1316.         END IF
  1317.  
  1318.  
  1319.        IF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  1320.          GOTO NOCDSTUFF
  1321.        ENDIF
  1322.  
  1323.        CreateProgmanGroup groupname$, "", cmoVital
  1324.        ShowProgmanGroup groupname$, 1, cmoVital
  1325.  
  1326.        windows$ = GetWindowsDir()
  1327.            CreateProgmanItem groupname$, "SCSI Readme", DEST$+"\readme.hlp", "", cmoOverwrite
  1328.  
  1329.        IF GetListItem(CHECKSTATES$, WIN_CONFIGFILES) = "ON" THEN
  1330.           CreateProgmanItem groupname$, "SCSIConfig", DEST$+"\scsicnfg.exe", "", cmoOverwrite
  1331.        ENDIF
  1332.  
  1333.        IF GetListItem(CHECKSTATES$, CORELBOOKFILES) = "ON" THEN
  1334.          CreateProgmanItem groupname$, "CorelBook", DEST$+"\crlbook.exe", "", cmoOverwrite
  1335.          CreateIniKeyValue "WIN.INI", "FONTS", "CorelBook View", "cbkview.fon", cmoOverwrite
  1336.        ENDIF
  1337.  
  1338.        IF GetListItem(CHECKSTATES$, WIN_TOOLSFILES) = "ON" THEN
  1339.          CreateProgmanItem groupname$, "SCSITools", DEST$+"\scsitool.exe", "", cmoOverwrite
  1340.        ENDIF
  1341.  
  1342.        IF GetListItem(CHECKSTATES$, WIN_BACKUPFILES) = "ON" THEN
  1343.          CreateProgmanItem groupname$, "SCSIBackup", DEST$+"\tapeback.exe", "", cmoOverwrite
  1344.        ENDIF
  1345.  
  1346.        IF GetListItem(CHECKSTATES$, CDFILES) = "ON" THEN
  1347.  
  1348.          CreateProgmanItem groupname$, "CDAudio", DEST$+"\cdaudio2.exe", "", cmoOverwrite
  1349.          CreateProgmanItem groupname$, "CDBrowser", DEST$+"\cdbrowse.exe", "", cmoOverwrite
  1350.          CreateProgmanItem groupname$, "Wave Edit", DEST$+"\windat.exe", "", cmoOverwrite
  1351.          CreateProgmanItem groupname$, "PhotoCD", DEST$+"\pcdscsi.exe", "", cmoOverwrite
  1352.          windows$ = GetWindowsDir()
  1353.          CreateProgmanItem groupname$, "Wallpaper Flipper", windows$+"wflipcnf.exe", "", cmoOverwrite
  1354.        ENDIF
  1355.  
  1356.        IF GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  1357.          IF InstallType <> CORELCDPAK THEN
  1358.             windows$ = GetWindowsDir()
  1359.             windows$ = windows$ + "twain\cortwain"
  1360.             cortwainini$ = windows$+"\CORTWAIN.INI"
  1361.             CreateIniKeyValue cortwainini$, "KODAK", "firmware RFS 2035", windows$+"\rfs2035.bin", cmoOverWrite
  1362.             CreateIniKeyValue cortwainini$, "KODAK", "load RFS 2035", windows$+"\ldkodak.exe", cmoOverWrite
  1363.             CreateProgmanItem groupname$, "Calibrate Kodak RSF2035", windows$+"\ldkodak.exe " + windows$ + "\rfs2035.bin", "", cmoOverwrite
  1364.             CreateProgmanItem groupname$, "Corel Twain Sample App", windows$+"\ctsample.exe", "", cmoOverwrite
  1365.          ELSE                    '' it would be an else when I add the mosaic files in.
  1366.  
  1367.             IF MosDir$ <> "" THEN
  1368.                 CreateProgmanItem groupname$, "CorelMOSAIC!", MosDir$ + "\CORELMOS.EXE", "", cmoOverwrite
  1369.             ELSE
  1370.                 CreateProgmanItem groupname$, "CorelMOSAIC!", DEST$ + "\mosaic\programs\corelmos.exe ", "", cmoOverwrite
  1371.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELFLT.INI", "ColorPath", "CircuitPath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1372.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELFLT.INI", "ColorPath", "CurvePath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1373.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELPRN.INI", "ColorPath", "CircuitPath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1374.             END IF
  1375.          ENDIF
  1376.  
  1377. NOCDSTUFF:         
  1378.  
  1379.        ENDIF
  1380.  
  1381. ENDOFINSTALL:
  1382. END SUB
  1383.  
  1384.  
  1385. '**
  1386. '** Purpose:
  1387. '**     Adds the specified option files to the copy list.
  1388. '** Arguments:
  1389. '**     ftype%  - type of files to add, one of the following:
  1390. '**             APPFILES, OPTFILES1, OPTFILES2
  1391. '** Returns:
  1392. '**     none.
  1393. '*************************************************************************
  1394. SUB AddOptFilesToCopyList (ftype%) STATIC
  1395.     windows$ = GetWindowsDir()
  1396.     winsystem$ = windows$ + "SYSTEM"
  1397.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1398.  
  1399.     IF ftype% = NECESSARY_FILES THEN
  1400.         AddSectionFilesToCopyList "Necessary", SrcDir$, DEST$
  1401.         SrcDir$ = ""
  1402.     ELSEIF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  1403.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1404.         IF ftype% = UNIFILES THEN
  1405.             AddSectionFilesToCopyList "UniFiles", SrcDir$, DEST$
  1406.         ELSEIF ftype% = CDFILES THEN
  1407.             AddSectionFilesToCopyList "CDFiles", SrcDir$, DEST$
  1408.             AddSectionFilesToCopyList "ARTshow", SrcDir$, windows$       
  1409.             AddSectionFilesToCopyList "ARTshow_DLL", SrcDir$, winsystem$       
  1410.             AddSectionFilesToCopyList "PhotoCD_DLL", SrcDir$, winsystem$       
  1411.         ELSEIF ftype% = CORELBOOKFILES THEN
  1412.             AddSectionFilesToCopyList "CorelBookFiles", SrcDir$, DEST$
  1413.             AddSectionFilesToCopyList "CorelBookFont", SrcDir$, winsystem$       
  1414.         ELSEIF ftype% = WIN_BACKUPFILES THEN
  1415.             AddSectionFilesToCopyList "WINBackupFiles", SrcDir$, DEST$
  1416.         ELSEIF ftype% = WIN_TOOLSFILES THEN
  1417.             AddSectionFilesToCopyList "WINToolsFiles", SrcDir$, DEST$
  1418.         ELSEIF ftype% = WIN_CONFIGFILES THEN
  1419.             AddSectionFilesToCopyList "WINConfigFiles", SrcDir$, DEST$
  1420.         ELSEIF ftype% = WIN_TWAINFILES THEN                           
  1421.             IF InstallType <> CORELCDPAK THEN
  1422.                AddSectionFilesToCopyList "TwainDLL", SrcDir$, windows$         '' special dll
  1423.                windows$ = windows$ + "TWAIN\CORTWAIN"
  1424.                AddSectionFilesToCopyList "WINTwainFiles", SrcDir$, windows$    '' all others
  1425.                windows$ = windows$ + "\OEMTWAIN"
  1426.                AddSectionFilesToCopyList "OEMTwainFiles", SrcDir$, windows$    '' add OEM Files
  1427.             ELSE                     '' ************ otherwise do mosaic here
  1428.      
  1429.                  IF DoesIniKeyExist("WIN.INI", "CorelGraphics4", "Dir") = 1 THEN
  1430.                      CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1431.                      MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1432.                      IF DoesFileExist(MosDir$ + "\CORELMOS.EXE", femReadWrite) = 1 THEN
  1433.                            AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, MosDir$
  1434.                            AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, MosDir$
  1435.                     ELSE                '' just in case it really isn't there add all the files
  1436.                           AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS"
  1437.                           AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, DEST$ + "\MOSAIC\CUSTOM"
  1438.                           AddSectionFilesToCopyList "PcdMosInis", SrcDir$, DEST$ + "\MOSAIC\CONFIG"
  1439.                           AddSectionFilesToCopyList "PcdMosData", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS\DATA"
  1440.                      END IF 
  1441.                  ELSE 
  1442.                       AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS"
  1443.                       AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, DEST$ + "\MOSAIC\CUSTOM"
  1444.                       AddSectionFilesToCopyList "PcdMosInis", SrcDir$, DEST$ + "\MOSAIC\CONFIG"
  1445.                       AddSectionFilesToCopyList "PcdMosData", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS\DATA"
  1446.                  END IF
  1447.             END IF
  1448.  
  1449.  
  1450.         ELSEIF ftype% = DOS_BACKUPFILES THEN
  1451.             AddSectionFilesToCopyList "DOSBackupFiles", SrcDir$, DEST$
  1452.         ELSEIF ftype% = DOS_TOOLSFILES THEN
  1453.             AddSectionFilesToCopyList "DOSToolsFiles", SrcDir$, DEST$
  1454.         ELSEIF ftype% = DOS_CONFIGFILES THEN
  1455.             AddSectionFilesToCopyList "DOSConfigFiles", SrcDir$, DEST$
  1456.         END IF
  1457.         SrcDir$ = ""
  1458.     END IF
  1459.  
  1460. END SUB
  1461.  
  1462.  
  1463.  
  1464. '** Purpose:
  1465. '**     Sets the Checkstate list.
  1466. '** Arguments:
  1467. '**     none.
  1468. '** Returns:
  1469. '**     none.
  1470. '*************************************************************************
  1471. SUB SetCheckStateList STATIC
  1472.     IF InstallType = CORELSCSI20 THEN
  1473.         FOR i% = 1 TO 11 STEP 1                  '' do the setup of entire selection
  1474.            AddListItem CHECKSTATES$, "ON"
  1475.         NEXT i%      
  1476.         ReplaceListItem CHECKSTATES$, 8, "OFF"        '' no more DBACKUP
  1477.     ELSEIF InstallType = CORELCDPAK THEN            '' lets pretend MOSAIC isn't in here yet
  1478.         AddListItem CHECKSTATES$, "OFF"            '' the UNI portion selection
  1479.  
  1480.         IF DiskOrCD = DISK THEN
  1481.           AddListItem CHECKSTATES$, "ON"            '' this is the drivers and cdex
  1482.           AddListItem CHECKSTATES$, "OFF"        '' this is corelbook
  1483.         ELSE
  1484.           AddListItem CHECKSTATES$, "ON"
  1485.           AddListItem CHECKSTATES$, "ON"
  1486.         END IF
  1487.  
  1488.         AddListItem CHECKSTATES$, "OFF"            '' win backup
  1489.         AddListItem CHECKSTATES$, "OFF"            '' win tools
  1490.  
  1491.         IF DiskOrCD = DISK THEN
  1492.             AddListItem CHECKSTATES$, "OFF"           '' this is the WinConfig Check
  1493.         ELSE        
  1494.             AddListItem CHECKSTATES$, "ON"           '' this is the WinConfig Check
  1495.            END IF
  1496.  
  1497.         IF DiskOrCD = DISK THEN
  1498.             AddListItem CHECKSTATES$, "OFF"           '' this is the CORELMOSAIC Check
  1499.         ELSE        
  1500.             AddListItem CHECKSTATES$, "ON"           '' this is the CORELMOSAIC Check
  1501.            END IF
  1502.  
  1503.         FOR i% = 8 TO 9 STEP 1                  '' do the setup of Power Pak selection
  1504.            AddListItem CHECKSTATES$, "OFF"
  1505.         NEXT i%
  1506.  
  1507.         IF DiskOrCD = DISK THEN
  1508.             AddListItem CHECKSTATES$, "OFF"                '' DOS Config check box
  1509.         ELSE
  1510.             AddListItem CHECKSTATES$, "ON"                '' DOS Config check box
  1511.         END IF
  1512.  
  1513.         AddListItem CHECKSTATES$, "ON"                '' Necessary
  1514.     ELSEIF    InstallType = OEMVERSION  THEN
  1515.         IF CheckIfOEM(InstallSet, OEM_UNIVERSAL) = 1 THEN    '' 1 being true (is in the bitflag)
  1516.             AddListItem CHECKSTATES$, "ON"
  1517.         ELSE 
  1518.             AddListItem CHECKSTATES$, "OFF"
  1519.         END IF            
  1520.                     
  1521.         IF CheckIfOEM(InstallSet, OEM_CDSTUFF) = 1 THEN        '' 1 being true (is in the bitflag)
  1522.             AddListItem CHECKSTATES$, "ON"
  1523.         ELSE 
  1524.             AddListItem CHECKSTATES$, "OFF"
  1525.         END IF            
  1526.  
  1527.         IF CheckIfOEM(InstallSet, OEM_CORELBOOK) = 1 THEN        '' 1 being true (is in the bitflag)
  1528.             AddListItem CHECKSTATES$, "ON"
  1529.         ELSE 
  1530.             AddListItem CHECKSTATES$, "OFF"
  1531.         END IF            
  1532.  
  1533.         IF CheckIfOEM(InstallSet, OEM_WINBACKUP) = 1 THEN        '' 1 being true (is in the bitflag)
  1534.             AddListItem CHECKSTATES$, "ON"
  1535.         ELSE 
  1536.             AddListItem CHECKSTATES$, "OFF"
  1537.         END IF            
  1538.  
  1539.         IF CheckIfOEM(InstallSet, OEM_WINTOOLS) = 1 THEN        '' 1 being true (is in the bitflag)
  1540.             AddListItem CHECKSTATES$, "ON"
  1541.         ELSE 
  1542.             AddListItem CHECKSTATES$, "OFF"
  1543.         END IF            
  1544.  
  1545.         IF CheckIfOEM(InstallSet, OEM_WINCONFIG) = 1 THEN        '' 1 being true (is in the bitflag)
  1546.             AddListItem CHECKSTATES$, "ON"
  1547.         ELSE 
  1548.             AddListItem CHECKSTATES$, "OFF"
  1549.         END IF            
  1550.  
  1551.         IF CheckIfOEM(InstallSet, OEM_TWAIN) = 1 THEN        '' 1 being true (is in the bitflag)
  1552.             AddListItem CHECKSTATES$, "ON"
  1553.         ELSE 
  1554.             AddListItem CHECKSTATES$, "OFF"
  1555.         END IF            
  1556.  
  1557.         IF CheckIfOEM(InstallSet, OEM_DOSBACKUP) = 1 THEN        '' 1 being true (is in the bitflag)
  1558.             AddListItem CHECKSTATES$, "ON"
  1559.         ELSE 
  1560.             AddListItem CHECKSTATES$, "OFF"
  1561.         END IF            
  1562.  
  1563.         IF CheckIfOEM(InstallSet, OEM_DOSTOOLS) = 1 THEN        '' 1 being true (is in the bitflag)
  1564.             AddListItem CHECKSTATES$,"ON"
  1565.         ELSE 
  1566.             AddListItem CHECKSTATES$,"OFF"
  1567.         END IF            
  1568.  
  1569.         IF CheckIfOEM(InstallSet, OEM_DOSCONFIG) = 1 THEN        '' 1 being true (is in the bitflag)
  1570.             AddListItem CHECKSTATES$, "ON"
  1571.         ELSE 
  1572.             AddListItem CHECKSTATES$, "OFF"
  1573.         END IF            
  1574.  
  1575.         AddListItem CHECKSTATES$, "ON"                            '' Necessary
  1576.     END IF
  1577. END SUB
  1578.  
  1579.  
  1580. '**
  1581. '** Purpose:
  1582. '**     Recalculates disk space for the given option files and sets
  1583. '**     the status info symbol "StatusItemsText".
  1584. '** Arguments:
  1585. '**     ftype% - type of files to add, one of the following:
  1586. '**             UNIFILES, CDFILES  etc
  1587. '** Returns:
  1588. '**     none.
  1589. '*************************************************************************
  1590. SUB RecalcOptFiles (ftype%) STATIC
  1591.  
  1592.     CursorSave% = ShowWaitCursor()
  1593.  
  1594.     ClearCopyList
  1595.     AddOptFilesToCopyList ftype%
  1596.  
  1597.  
  1598.     fExtra% = 0
  1599.     IF ftype% = UNIFILES THEN
  1600.     ListSym$ = UNINEED$
  1601.     ELSEIF ftype% = CDFILES THEN
  1602.     ListSym$ = CDNEED$
  1603.     ELSEIF ftype% = CORELBOOKFILES THEN
  1604.     ListSym$ = CORELBOOKNEED$
  1605.     ELSEIF ftype% = WIN_BACKUPFILES THEN
  1606.     ListSym$ = WIN_BACKUPNEED$
  1607.     ELSEIF ftype% = WIN_TOOLSFILES THEN
  1608.     ListSym$ = WIN_TOOLSNEED$
  1609.     ELSEIF ftype% = WIN_CONFIGFILES THEN
  1610.     ListSym$ = WIN_CONFIGNEED$
  1611.     ELSEIF ftype% = WIN_TWAINFILES THEN
  1612.       IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK THEN
  1613.            ListSym$ = PCDMOSNEED$
  1614.          ELSE
  1615.         ListSym$ = WIN_TWAINNEED$                        '' Mosaic in case of PowerPak
  1616.       END IF
  1617.     ELSEIF ftype% = DOS_BACKUPFILES THEN
  1618.     ListSym$ = DOS_BACKUPNEED$
  1619.     ELSEIF ftype% = DOS_TOOLSFILES THEN
  1620.     ListSym$ = DOS_TOOLSNEED$
  1621.     ELSEIF ftype% = DOS_CONFIGFILES THEN
  1622.     ListSym$ = DOS_CONFIGNEED$
  1623.     ELSEIF ftype% = NECESSARY_FILES THEN
  1624.     ListSym$ = NECESSARY_NEED$
  1625.     END IF
  1626.  
  1627.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  1628.  
  1629.     cost& = 0
  1630.     FOR i% = 1 TO 26 STEP 1
  1631.         cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  1632.     NEXT i%
  1633.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  1634.  
  1635.     IF StillNeed& > 0 THEN
  1636.         ReplaceListItem BIGLIST$, ftype%, "YES"
  1637.     ELSE
  1638.         ReplaceListItem BIGLIST$, ftype%, ""
  1639.     END IF
  1640.  
  1641.     IF fExtra% THEN
  1642.         ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  1643.     END IF
  1644.     RestoreCursor CursorSave%
  1645.     ListSym$ = ""
  1646. END SUB
  1647.  
  1648.  
  1649. '**
  1650. '** Purpose:
  1651. '**     Recalculates disk space and sets option status info according
  1652. '**     to the current destination path.
  1653. '** Arguments:
  1654. '**     none.
  1655. '** Returns:
  1656. '**     none.
  1657. '*************************************************************************
  1658. SUB RecalcPath STATIC
  1659.  
  1660.     CursorSave% = ShowWaitCursor()
  1661.  
  1662.     RecalcOptFiles UNIFILES
  1663.     RecalcOptFiles CDFILES
  1664.     RecalcOptFiles CORELBOOKFILES
  1665.     RecalcOptFiles WIN_BACKUPFILES
  1666.     RecalcOptFiles WIN_TOOLSFILES
  1667.     RecalcOptFiles WIN_CONFIGFILES
  1668.     RecalcOptFiles WIN_TWAINFILES
  1669.     RecalcOptFiles DOS_BACKUPFILES
  1670.     RecalcOptFiles DOS_TOOLSFILES
  1671.     RecalcOptFiles DOS_CONFIGFILES
  1672.     RecalcOptFiles NECESSARY_FILES
  1673.  
  1674.     RestoreCursor CursorSave%
  1675. END SUB
  1676.  
  1677.  
  1678. '**
  1679. '** Purpose:
  1680. '**     Sets drive status info according to latest disk space calcs.
  1681. '** Arguments:
  1682. '**     none.
  1683. '** Returns:
  1684. '**     none.
  1685. '*************************************************************************
  1686. SUB SetDriveStatus STATIC
  1687.  
  1688.     drive$ = MID$(DEST$, 1, 1)
  1689.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1690.     cost& = VAL(GetListItem(UNINEED$, ndrive%)) + VAL(GetListItem(CDNEED$,ndrive%)) + VAL(GetListItem(CORELBOOKNEED$,ndrive%))
  1691.     cost& = cost& + VAL(GetListItem(WIN_BACKUPNEED$, ndrive%)) + VAL(GetListItem(WIN_TOOLSNEED$, ndrive%)) + VAL(GetListItem(WIN_CONFIGNEED$, ndrive%))
  1692.     cost& = cost& + VAL(GetListItem(DOS_BACKUPNEED$, ndrive%)) + VAL(GetListItem(DOS_TOOLSNEED$, ndrive%))
  1693.     cost& = cost& + VAL(GetListItem(DOS_CONFIGNEED$, ndrive%)) + VAL(GetListItem(NECESSARY_NEED$, ndrive%))
  1694.     
  1695.     IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK THEN
  1696.         cost& = cost& + VAL(GetListItem(PCDMOSNEED$, ndrive%))
  1697.     ELSE        
  1698.         cost& = cost& + VAL(GetListItem(WIN_TWAINNEED$, ndrive%))
  1699.     END IF
  1700.     
  1701.     IF cost& < 0 THEN
  1702.         cost& = 0
  1703.     END IF
  1704.  
  1705.     free& = GetFreeSpaceForDrive(drive$)
  1706.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  1707.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  1708.  
  1709. END SUB
  1710.  
  1711.